%% 
clc;clear
H_index = [11 62 102 150;4  90 131 177;13 57 135 198; 6 58 106 158;
           10 61 101 149;17 98 151 187; 21 83 119 153;40 53 132 159;
           34 69 125 162; 23 81 117 155;34 82 130 182;2 54 102 154;
           36 84 120 169;28 76 124 176;29 85 112 165;25 66 121 174;
           35 70 126 163;35 83 131 183; 33 81 129 181;30 78 126 178;
           1 48 143 198;41 99 147 195; 37 91 139 187;16 97 150 186;
           38 88 136 184; 9 60 100 148;47 95 138 191;24 65 120 173;
           8 60 108 160;39 87 123 168;46 94 137 190;31 87 114 167;
           19 96 149 185;23 75 119 175;24 93 111 182;1 53 101 153 ;
           18 70 114 170;25 94 108 183; 36 90 138 186;45 93 136 189;
           37 85 121 170;32 80 128 180;10 62 110 162; 41 54 133 156;
           9 61 109 161;40 98 146 194;31 79 127 179;5 91 128 178;
           11 63 111 163 ;47 74 141 189;0 51 142 197;51 79 146 195;
           6 88 129 179;44 92 139 188; 15 67 105 167;14 66 104 166;
           2 49 140 199;16 68 112 168;42 96 144 192;20 72 116 172;
           46 73 140 188;26 67 122 175;39 89 137 185;33 68 124 161 ;
           27 64 123 172;3 50 141 196; 0 52 100 152;19 71 115 171 ;
           20 82 118 152;26 95 109 180;18 99 148 184;3 55 103 155;
           30 86 113 166;32 71 127 160; 49 77 144 193 ;22 80 116 154;
           44 75 142 190;7 89 130 176; 4 56 104 156;50 78 145 194;
           7 59 107 159;12 64 106 164;14 58 132 199;8 63 103 151;
           17 69 113 169;13 65 107 165;29 77 125 177;21 73 117 173;
           12 56 134 197;28 84 115 164;48 76 147 192; 43 52 135 158;
           15 59 133 196;38 86 122 171;45 72 143 191;5 57 105 157;
           22 74 118 174;43 97 145 193;42 55 134 157;27 92 110 181];
H_element = [35 13 51 60;1 44 53 24;15 6 1 45;30 24 1 44;
             24 1 44 30;33 42 14 24;30 24 1 44;1 45 15 6;
             24 1 44 53;44 53 24 1;1 44 53 24;45 15 6 1 ;
             35 13 18 60;6 1 45 15;1 44 30 24;30 24 1 44;
             1 44 30 24;30 24 1 44;35 46 56 15;44 30 24 1;
             1 44 53 24;45 15 6 1;51 60 35 13;44 53 24 1;
             24 1 44 30;1 44 53 24;1 45 15 6;44 53 24 1 ;
             24 1 44 30;24 1 44 53;33 42 14 24;24 1 44 53;
             1 45 15 6;24 1 44 30;30 24 1 44;27 28 30 31;
             30 24 1 44;45 15 6 1;53 24 1 44;44 53 24 1 ;
             1 44 30 24;38 23 22 7;53 24 1 44;5 33 42 14;
             6 1 45 15;1 44 30 24;6 1 45 15;29 28 30 31;
             44 30 24 1;24 1 44 30;1 45 15 6;35 46 56 15 ;
             24 1 44 30;45 15 6 1;24 1 44 53;45 15 6 1;
             1 44 30 24;42 36 12 57;1 45 15 6;1 44 30 24;
             53 24 1 44;1 45 15 6;30 1 44 7;24 1 44 53;
             53 24 1 44;1 44 30 24;44 53 24 1;6 1 45 15;
             54 7 38 23 ;53 24 1 44;44 30 24 1;1 44 53 24;
             6 1 45 15;38 49 11 17;1 44 53 24;45 15 6 1;
             6 1 45 15;1 45 15 6;17 38 49 11;30 24 1 44;
             1 45 15 6;57 25 9 41;6 1 45 15;1 45 15 6;
             53 24 1 44;24 1 44 30;26 22 14 2;6 1 45 15;
             30 24 1 44;44 30 24 1;41 16 29 51;1 45 15 6;
             24 1 44 53;1 45 15 6;44 53 24 1;1 44 53 24;
             42 47 37 32;24 1 44 53;44 30 24 1;53 24 1 44]; 
H_index = H_index+1;
H = zeros(100,200);
for i=1:100
    for j = 1:4
    H(i,H_index(i,j))=H_element(i,j);
    end
end
H = gf(H,6);
H1 = H(1:100,1:100);
H2 = H(1:100,101:200);
H_ba = [H2\H1,eye(100)];
G = [eye(100),(H2\H1)'];
%% 

m=string([001010 110010 010011 100001 001010 100110 010000 101001 101100 101111 ...
011100 000101 001110 111010 001001 110100 100010 111111 000101 011100 ...
000110 111101 000000 110001 110100 110111 000101 011001 010000 110011 ...
011011 111010 001011 010000 001001 001000 110111 100101 100011 001001 ...
110110 100111 010110 100000 011001 000100 001111 000111 001011 001111 ...
011010 000011 111001 111100 011111 011111 010101 111001 010111 000111 ...
110001 011000 001111 011001 000110 001000 111100 111101 100100 000011 ...
001111 010110 110100 000000 000010 001010 101001 101110 101001 011100 ...
100011 010010 101111 001100 101011 001011 010111 101000 110001 000101 ...
111011 110001 011111 011011 011100 010011 100000 100000 110100 110010]);
for i = 1:length(m)
       while strlength(m(i))~=6
           m(i) =strcat('0',m(i));
       end
end
m = bin2dec(m);
m = gf(m,6);
m = m*G;
m = dec2bin(m.x,6);










